package a02;

import a02.multi.IBean;
import org.springframework.beans.factory.annotation.Autowired;

import javax.annotation.Resource;

public class BeanA {

    @Autowired
    BeanB beanB;


    /**
     * 如果同时使用@Autowired与@Resource,哪个会生效呢？Autowired。其又是由什么决定的呢？由后处理器的执行顺序，先执行的先生效（这个感觉了解下就可以呢）
     */
    @Autowired     //在多个实现类的情况下，Autowired会通过变量名字去匹配.即这里会通过名字beanImpl01去找到BeanImpl01注入
    @Resource(name = "beanImpl02")
//    @Autowired
    IBean beanImpl01;

    public BeanB getBeanB() {
        return beanB;
    }

    public IBean getIbean() {
        return beanImpl01;
    }

    public BeanA() {
        System.out.println("BeanA的构造函数...");
    }
}
